﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.IO;
using System.Drawing;
using System.Text;
using System.Web.UI.HtmlControls;
using BL;

namespace UI.DireccionAcademica
{
    public partial class FrmReporteAlumnosDesaprobados : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                llenaCombos();
            }
        }


        void llenaCombos()
        {
            DataTable dato = new DataTable();
            Alumno_BL obj = new Alumno_BL();

            dato = obj.DATA_ESPECIALIDAD_ListaEspecialidades();
            ComboEspecialidad.DataSource = dato;
            ComboEspecialidad.DataTextField = "desesp";
            ComboEspecialidad.DataValueField = "cod_Espec";
            ComboEspecialidad.DataBind();
            ComboEspecialidad.Items.Insert(0, "--Todos--");


            dato.Clear();
            dato = obj.DATA_PERIODO_listaxSemestre("TODOS");
            ComboSemestre.DataSource = dato;
            ComboSemestre.DataTextField = "semestre";
            ComboSemestre.DataValueField = "semestre";
            ComboSemestre.DataBind();
            ComboSemestre.Items.Insert(0, "--Todos--");

        }


        protected void btnReporte_Click(object sender, EventArgs e)
        {
            llenaGrilla();
        }

        protected void btnExportar_Click(object sender, ImageClickEventArgs e)
        {
            ExportToExcel();

        }



        protected void ExportToExcel()
        {
            DataTable tabla = DataReporteNuevo();

            if (tabla.Rows.Count > 0)
            {
                StringBuilder sb = new StringBuilder();
                StringWriter sw = new StringWriter(sb);
                HtmlTextWriter htw = new HtmlTextWriter(sw);
                Page pagina = new Page();
                HtmlForm form = new HtmlForm();
                GridView dg = new GridView();
                dg.EnableViewState = false;
                dg.DataSource = tabla;
                dg.DataBind();
                pagina.EnableEventValidation = false;
                pagina.DesignerInitialize();
                pagina.Controls.Add(form);
                form.Controls.Add(dg);
                pagina.RenderControl(htw);
                Response.Clear();
                Response.Buffer = true;
                Response.ContentType = "application/vnd.ms-excel";
                Response.AddHeader("Content-Disposition", "attachment;filename=REPORTEALUMNOSDESAPROBADOS.xls");
                Response.Charset = "UTF-8";
                Response.ContentEncoding = Encoding.Default;
                Response.Write(sb.ToString());
                Response.End();
            }
        }


        private void llenaGrilla()
        {
            DataTable dato = DataReporteNuevo();
            GridView1.DataSource = dato;
            GridView1.DataBind();
        }

        private DataTable DataReporteNuevo()
        {
            LabelError.Text = "";
            try
            {

                ReporteAlumnosDesaprobados_BL obj = new ReporteAlumnosDesaprobados_BL();
                DataTable dato = new DataTable();

                String Semestre = ComboSemestre.SelectedItem.Value;
                String Especialidad = ComboEspecialidad.SelectedItem.Value;
                String Ciclo = ComboCiclo.SelectedItem.Value;


                dato = obj.Listado(Semestre, Especialidad, Ciclo,"--Todos--");
                return dato;
            }
            catch (Exception ex)
            {
                LabelError.Text = ex.Message;
                return null;
            }
        }


    }
}